SQLiteOpenHelper 的 Android JUnit 测试
全部标签 由于Linq-to-Entities(EF4)和Linq-to-Objects之间的潜在差异,我需要使用实际的数据库来确保我的查询类正确地从EF检索数据。SqlCE4似乎是完美的工具,但是我遇到了一些小问题。这些测试使用的是MsTest。我遇到的问题是,如果数据库没有被重新创建(由于模型更改),数据会在每次测试后不断添加到数据库中,而不会删除数据。这可能会导致测试冲突,查询返回的数据多于预期。我的第一个想法是在TestInitialize方法中初始化一个TransactionScope,并在TestCleanup中处理事务。不幸的是,SqlCE4不支持事务。我的下一个想法是通过File
在VisualStudio中,您可以按SHIFT+ALT+C来创建新的类文件。我正在寻找新接口(interface)文件和新“基本单元测试”文件的类似快捷方式。我有TelerikJustCode,所以请不要推荐类似的产品。但是,例如,如果存在一个小的扩展,那将是一件很高兴的事情。顺便说一句,我正在使用VisualStudio2010(C#)。 最佳答案 对此没有内置解决方案,但您可以轻松录制宏(在工具菜单中):您可以在宏资源管理器中重命名它们(Alt+F8)然后您可以在工具→选项→键盘中为这些宏分配快捷方式。编辑这不适用于添加新的基
我有一个包含一些测试用例和一些普通测试的基础测试类:[TestFixture]publicabstractclassTestBase{[TestCase(1)][TestCase(2)][TestCase(3)]publicvoidTestA(intvalue){//Performtest}[Test]publicvoidTestB(){//Performtest}}这些测试是从以不同方式设置环境的子类运行的。子类只包含设置方法,没有测试。[TestFixture]publicclassLocalDatabaseTest:TestBase{[SetUp]publicvoidSetUp(
在过去的6个月里,我们的测试团队一直在使用seleniumwebdriver来测试我们基于网络的产品。我们已经取得了巨大的成功,并且每天都在继续使用它。我们使用visualstudio,因为我们是一个.net商店来编写我们的c#单元测试。我们不使用任何其他.net测试框架。直到最近,我们一直通过visualstudio(2013)中的测试资源管理器窗口手动运行自动化测试,检查结果,然后将它们记录到电子表格中。我知道这并不理想,但我们没有那么多测试,所以到目前为止这很适合我们。然而,我们需要编写和维护的自动化测试的数量将在未来几个月内迅速增加。我最近一直在尝试创建用于调用vstest.c
你会如何测试这个场景?我刚刚开始研究NHibernate并在TDD上进行了第一次bash。到目前为止,我真的很喜欢它,并且一直在使用fluent-Nhibernate来映射类。但是,当谈到在PersistenceSpecification上使用VerifyTheMappings方法时,我似乎陷入了死胡同。基本上我有两个类,Recipient和RecipientList。RecipientList类有一个到Recipient的映射,具有流畅的“HasMany”关系:publicclassRecipientListMap:ClassMap{publicRecipientListMap(){
对访问ActiveDirectory的应用程序进行单元测试和/或模拟对AD的依赖性的最佳方法是什么?所有必需的类型,如DirectorySearcher和DirectoryEntry似乎都不容易模拟。我们有像FindByUserName()这样的方法,并且想要(单元)测试它们。 最佳答案 如果它们不可模拟(手头没有MSDN,所以我真的不能说),你总是可以在IDirectorySearcher和IDirectoryEntry后面抽象它们>并mock这些。通过这种方法,您可以根据自己的需要进行专门定制,从而简化API。
我热爱C#的新世界,我的玩具程序已经到了我想开始编写一些单元测试的地步。我的代码当前通过DatabaseDataContext对象(*.dbml文件)使用数据库,为此对象创建模拟的最佳方法是什么?考虑到生成数据库LINQ->SQL代码是多么容易以及这一定是一个多么普遍的请求,我希望VS2010内置了有助于测试的功能。如果我偏离了方向并且必须手动完成此操作,您能否告诉我您的首选方法?非常感谢,加文 最佳答案 DataContext的问题在于它不是为模拟而设计的。模拟不可模拟对象的免费工具是MolesfromPex(Pexmoles?)
在C#中给定一个具有以下签名的函数publicstaticvoidFoo(refintx,refinty)如果函数是用调用的intA=10;Foo(refA,refA)在函数Foo中是否可以测试x和y参数引用同一个变量?对x和y进行简单的等效测试是不够的,因为在两个不同变量具有相同值的情况下也是如此。 最佳答案 如果你愿意使用不安全的代码,你可以比较底层变量地址:publicstaticboolFoo(refinta,refintb){unsafe{fixed(int*pa=&a,pb=&b){//returntrueiffaand
我正在使用Nuget(4.1.23.0)上可用的当前版本的MvvmLight,调用RaiseCanExecuteChanged似乎在单元测试中没有做任何事情。场景很简单,我有一个命令:publicRelayCommandFooCommand{get;privateset;}我在View模型构造函数中新建它并将它指向一些私有(private)方法:FooCommand=newRelayCommand(Foo,CanFoo);privatevoidFoo(){//dosomefooing.}privateboolCanFoo(){returnSomeRequiredProperty!=nu
我的一些UnitTest具有在循环中定义的Sleep。我不仅要描述测试的每个迭代,还要描述所有迭代的总时间,以显示任何非线性缩放比例。例如,如果我分析“总体”,则它包括sleep时间。我可以使用StopwatchStart/Stop,以便它仅包含doAction()。但是,我无法将秒表结果写入TestContext结果。[TestMethod]publicvoidTestMethod1(){TestContext.BeginTimer("Overall");for(inti=0;i看来TestContext可以继承并重新定义。但是,我看不到任何将其写回到事务存储的示例。有没有我可以引用